import React from 'react';

/* 引入路由 */
import {Switch,Route,Redirect} from 'react-router-dom';

/* 封装 路由组件*/
const RouterView = (props: { routes: any[]; }) => {
    /* console.log(props); */

    /* 存在路由重定向的 */
       let reds=props.routes.filter((item: any)=>item.redirect); 

    /* 不存在路由重定向的 */
       let coms=props.routes.filter((item:any)=>item.component);
    return <Switch>
        {/* 不存在路由重定向 */}
       {
           coms.map((item: any,index: any)=>{
               return <Route path={item.path} key={index} render={(propsRoute)=>{
                   /* 存在二级路由 就递归 */
                    if(item.children){
                        return <item.component {...propsRoute} routes={item.children}></item.component>
                    }else{
                        return <item.component{...propsRoute}></item.component>
                    }
               }}></Route>
           })
       },
       {/* 存在路由重定向 */}
       {
           reds.map((item: any,index: any)=>{
               /* console.log('====================================');
               console.log("reds..",item);
               console.log('===================================='); */
               return <Redirect key={index} to={item.redirect}></Redirect>
           })
       }
    </Switch>
}

export default RouterView;